home *** CD-ROM | disk | FTP | other *** search
- DiskQwik v1.1 Shareware version Released August 20th, 1993
- DiskQwik v1.2 Registered version Released August 20th, 1993
-
- ╒═════╡ DiskQwik v1.1 │
- │ ┌────────────────┐ ┌────────────────┐
- │ Dustbowl Designs, Inc. │ 2 SPB │ │░░░░0 SPB░░░░░░│
- │ -=≡ NOT REGISTERED ≡=- │ ≡■≡≡≡≡≡≡≡≡≡≡≡≡ │ │░░░░░░░░░░░░░░░░│
- │ "Dedicated to enhancing the └────────────────┘ └────────────────┘
- │ world's personal computers." Drive 0 DiskQwik v1.2 only
- │ (405) 741-2721 BBS
- ├───────────────────────────────────────────────────────────────────────────┐
- │ Copyright 1993 by Dustbowl Designs, Inc. All rights reserved. │
- │ 12600 S.E. 38th Street, Choctaw, Oklahoma USA 73020-6107 │
- │ See DiskQwik.doc for v1.2 registration information. (405) 741-4705 │
- └───────────────────────────────────────────────────────────────────────────┘
-
- The block device driver for AT/IDE interface hard disk drives that
- enables MULTIPLE SECTOR Block Transfer Mode.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ What's New: v1.1 ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
- Initial public release of DiskQwik v1.1 Shareware.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Introduction ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
- DiskQwik is a block device driver that is designed exclusively for
- AT/IDE Hard Disk Drives. Many newer IDE drives have the built in
- capability to significantly increase their Data Transfer Rates by
- activating the MULTIPLE SECTOR Block Transfer Mode. In a typical
- scenario, the transfer rate can be increased by up to 45% over the
- rate offered by the motherboard bios. Some of the newest motherboards
- and high-end Host Adapters are beginning to offer this MULTIPLE Mode,
- but this great feature of our new IDE drives has essentially remained
- untapped.... until now, thanks to DiskQwik!
-
- Included in this ZIP file is DISKQWIK.PCX, in a standard graphics file
- format used by most paint programs and picture viewers, that shows an
- example of one drive's performance results. It shows in clear detail
- the remarkable increase in Data Transfer Rate that one can expect from
- an IDE drive that has activated MULTIPLE SECTOR Block Transfers. With
- the Sectors per Block (SPB) set to 2, we immediately see an increase
- of 15% over the system motherboard bios int13 routines. This is the
- capability of DiskQwik's Shareware release. With the SPB set to 32
- (only Registered versions of DiskQwik can set values greater than 2),
- the Data Transfer Rate of our test drive jumps to 43% higher than the
- native system motherboard bios int13 routines.
-
- This shareware release of DiskQwik is designed to give you the
- opportunity to test for yourself if your IDE drive can be motivated
- into MULTIPLE SECTOR Block Transfer Mode. It is VERY important to note
- here that while a large percentage of IDE drives can use this mode,
- some cannot (some say they can, but actually don't... more on this
- later), therefore, shareware provides a perfect opportunity for "try
- before you buy" software evaluation.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Upgrade Offer ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- As noted in the screen representation and at the beginning of this
- document, DiskQwik v1.1 is shareware and supports a SINGLE hard disk
- drive (unit 0) in the MULTIPLE SECTOR Block Transfer Mode.
- Additionally, The shareware version is "hard coded" to a 2 Sectors per
- Block maximum in the READ Multiple mode.
-
- In the event that you want to activate the higher Data Transfer Rates
- gained by increasing the Sectors per Block value, add a SECOND drive
- in the MULTIPLE SECTOR Block Transfer Mode or desire to have WRITE
- Multiple, we offer the program: Registered DiskQwik v1.2 .
-
- Registered version benefits and features:
- * Custom control of the values used for setting Sector per Block
- (SPB).
- * WRITE Multiple companion to the READ Multiple routine.
- * Ultra-fast program loading without delays or required user
- intervention. (If you're getting tired of the random character
- starter and prolonged registration reminder, then it is probably
- time to register <grin>.)
- * Postscript version of the documentation.
- * Advanced technical support and continuous upgradability to all
- future registered versions via our BBS.
-
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ System Requirements ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- A few simple conditions must be met in order to utilize the DiskQwik
- device driver.
-
- They are:
-
- 1. Computer system MUST be either a 286, 386sx, 386dx, 486sx or
- 486dx (and Pentium, probably...).
- 2. The hard disk drive must be of the AT/IDE interface type.
-
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Preparing the Disk Drives ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
- No special preparation or formatting of the hard disk drives is
- required.
-
- If the two minimum hardware requirements are met, then proceed through
- the following tests to determine if the drive's microcode is up to the
- job:
-
- 1. Run 4DRVUTIL.EXE (included in this zip file) on the Primary port
- address, unit 0.
-
- 2. Does 4DRVUTIL show that Multiple Sectors per Interrupt are
- available?
- NO: Stop. The DiskQwik utility exists to activate this option.
- YES: Go to 3.
-
- 3. Does 4DRVUTIL show that the drive's buffer size is larger than
- the Maximum number of Multiple Sectors per Interrupt?
- NO: Stop ...maybe. If they are the same size, then the chances
- are that the drive's microcode is giving a false positive on
- Multiple Sectors. Given that the drive has a finite "memory
- pool" available to support both the Read/Write caching and
- the drive memory requirement for the Multiple sectors, it
- makes no sense that these two should be the same. If the
- entire buffer were given to the task of Multiple Sector
- support, the drive's performance will degrade to an all time
- low! Nonetheless, you still might continue on as long as you
- configure DiskQwik to a block size that is half the size, at
- most, of the buffer. This happens automatically with the
- shareware release, since it is hard coded to 2 Sectors Per
- Block (SPB).
- YES: Things are looking good. Go to 4.
-
- 4. Run 4_SPEED.EXE (included in this zip file) on drive C: and save
- the test results to a Log file for comparison later and be sure
- to attach an appropriate comment to the test. (Note: 4_SPEED
- will quickly be picked up by drive caching software like
- SmartDrive etc. Therefore, if you are seeing a Data Transfer
- Rate for the drive that is higher than 3 or 4 MBytes per second,
- then you will need to REM out the drive cache software in order
- to collect data on the drive's true unassisted transfer rate.)
-
- 5. Add to your config.sys file the line DEVICE=DQWIK110.HDD, save
- and reboot your computer.
-
- 6. Did DiskQwik load OK without error?
- NO: Stop. One of the few error messages is simply "Error
- setting Multiple Mode, DiskQwik NOT LOADED". This means
- that the drive's microcode is configured to reject attempts
- to set the Multiple feature. This is too bad and
- unfortunately the end of the line. It is important to note
- that this DOES NOT mean that the drive is defective, poorly
- designed, or any such implication that the drive
- manufacturer has failed in any way. It merely means that the
- feature was never available in the first place. The
- development of Multiple Sector per Interrupt features in
- various drives amongst the drive manufacturers is still
- maturing.
- YES: Almost home. Go to 7.
-
- 7. Run 4_SPEED again on drive C: and save the test results to the
- same Log file that was prepared during the first test run.
-
- 8. Using 4_SPEED, select the "Analyze" feature, and graph the two
- test runs. This is the moment of truth.
-
- 9. Does the graph show that there has been an increase in the
- drive's Data Transfer Rate?
- NO: Stop. Oh well... @#$%!!. So close, and yet we've hit a
- stopping point. At least you have the satisfaction of
- knowing that through shareware, you are able to "try before
- your buy," and that you have in your possession two very
- fine and no-obligation-to-register Freeware utilities
- (4DRVUTIL and 4_SPEED) as consolation prizes. Thanks for
- trying. In a more serious vein, again it is very important
- to recognize the points made in step number 6. In general,
- the drives that seem to have the multiple capability are
- usually larger than 150 MBytes and have drive buffers at
- least 32 KBytes in size.
- YES: How a_bout that! If everything has gone according to plan,
- you should be looking at an increase in the Data Transfer
- Rate of around 15%; with ONLY 2 Sectors Per Block. You can
- expect to see a substantial increase in the DTR by
- increasing the SPB value, which is the prime feature of the
- Registered version of DiskQwik (as well as setting up unit 1
- and activating WRITE MULTIPLE). Go to 10.
-
- 10. Next, read to the section below titled "App Notes" and pick out
- the points that apply to your system setup. Please consider
- registering this fine shareware product, upload the shareware
- zip file to as many BBS as you can afford, and tell you friends!
- Congratulations.
-
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Command Line Switches ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
- No command line switches are needed in the Shareware version of
- DiskQwik since it is hard coded to Unit 0, READ MULTIPLE and 2 Sectors
- Per Block (SPB).
-
- The Registered version switches can be set up in the CONFIG.SYS file
- after the complete driver name and should be separated by spaces for
- clarity.
-
- The following command line switch have been put into place for the
- Registered version:
-
- No Command Line Switches - Driver will NOT load since it requires the
- command line switches for instruction.
-
- B(?)xx - Block Size of xx for Unit ?. Where (?) is replaced by either
- 0 or 1 and xx is replaced by a value (typically an even
- number) indicating the number of Sectors Per Block (SPB).
- The SPB value cannot exceed the maximum number of sectors per
- interrupt defined in the drive's own microcode.
-
- RM(?) - Activate READ MULTIPLE for unit ?= 0 or 1.
-
- WM(?) - Activate WRITE MULTIPLE for unit ?= 0 or 1.
-
- P - Pause the progress of the config.sys after loading DiskQwik. Press
- C to continue. This is handy when confirming the status of the
- driver.
-
- Example: DISKQWIK B016 RM0 WM0 B132 RM1 P
- means: block size of 16 for unit 0 with READ and WRITE
- MULTIPLE, block size of 32 for unit 1 with READ
- MULTIPLE only, with a "Press C to Continue" pause
- after loading.
-
- CONFIRMATION of Device options:
- Visual confirmation of the I/O option combinations will be indicated
- by the COLOR of the "led" indicator on the DiskQwik banner screen drive
- icon....
-
- ┌────────────────┐
- │ 32 SPB │
- │ ≡*≡≡≡≡≡≡≡≡≡≡≡≡ │
- └──^─────────────┘
- |
- |
- RM(?) - will be denoted by a BLUE * (led) indicator for the drive
- selected. (This is the default color you should see with the
- shareware version of DiskQwik.)
-
- WM(?) - will be denoted by a YELLOW * (led) indicator for the drive
- selected.
-
- RM(?) & WM(?) - will be denoted by a RED * (led) indicator for the
- drive selected.
-
- P - The "Press c to continue", message will be displayed in the
- bottom left corner of the yellow text box and the 'c' key
- must be pressed before the driver's init code is terminated.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Background ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- MULTIPLE SECTOR Block Transfer Mode has its origins in the ESDI hard
- disk drive interface. Just prior to the development of the AT/IDE
- interface, the ESDI controllers were about ready to institute this
- very interesting ability. Similar to the IDE inquiry command, ESDI
- drives will report 512 bytes of information about themselves where
- word 47 is a yes/no variable about Multiple Sector capability. If the
- byte is "yes" then the following bytes will tell how many maximum
- sectors per interrupt may be used. In fact, 4DRVUTIL, and other IDE
- inquiry utilities, will easily receive this information from the ESDI
- drive controllers.
-
- The rapid pace of hard drive technology, however, has since made the
- ESDI interface obsolete. This is lamentable from the standpoint that
- the interface has a sterling reputation for quality and the drives for
- ruggedness. ESDI drives were typically large capacity units (of the
- time) that found homes in file servers and other environments that
- demanded critical performance from their drives. Most network
- managers will speak highly of the interface.
-
- Drive manufacturers soon found that the cost per megabyte could be
- drastically reduced by building the controllers directly onto the
- drive. This concept holds true for the AT/IDE interface (as well as
- SCSI, but that's a whole different ball game). This integrated
- controller also allowed the drive manufacturers to use Zone Bit
- Recording methods (variable sectors per track) and drive geometry
- translation schemes to exceed the DOS limitation of 1024 cylinders
- max. By building RAM buffers into the drives we finally begin to
- reach the point in hard drive technology where MULTIPLE SECTOR Block
- Transfer Mode begins to be a reality.
-
- A discussion about the microcode which manages the drive RAM buffer is
- worthwhile. Just like the RAM memory in our systems, the RAM buffers
- on an AT/IDE drive should be thought of as a "memory pool". Today's
- modern drives have buffers that range from simple to sophisticated. The
- simplest buffer schemes employ basic Read Look Ahead techniques that
- operate on the assumption that the next data you will request will be
- contiguously after the data you just got.
-
- These Look Ahead buffers generally are FIFO types (first in, first
- out) that either read a pre defined number of sectors, or read through
- to the end of the physical cylinder. It is easy to imagine that the
- transfer rate and speed of the data delivery to the host system is
- greatly increased when it is dumped from RAM to RAM (nanoseconds)
- instead of physically picking it up off of the drive (milliseconds).
-
- The early AT/IDE drives had buffers of only 2 to 8 KiloBytes. In
- terms of sectors, that is 4 to 16 (2 512 byte sectors equal 1
- KiloByte). This is enough to Read Ahead the rest of a track of a 17
- sector per track drive (typical of the day). Reading Ahead to the end
- of the cylinder requires a much larger amount of memory. Also, basic
- competition amongst the drive manufacturers to be faster "than the
- other guy" has caused the buffer sizes to increase. Other factors
- like spindle speeds, recording densities, and access times combine
- together to be part of the overall improvements that have increased
- drive performance.
-
- When the RAM buffer reaches a certain point in size, either the Read
- Look Ahead must cross a physical cylinder boundary or something else
- more desirable; this moves us into Segmented Buffers. From here we
- see Adaptive Segmented Buffers, and so on. A typical modern drive may
- describe its buffer as Read Look Ahead Multi-Segmented Adaptive,
- combining all types.
-
- Write caching is the current newcomer to drive buffer techniques.
- These are interesting in that the drive reports that a write has
- completed as soon as the data arrives in the buffer, thereby freeing
- up the interrupt hold on the CPU, allowing it to move on to more
- processing. Then the drive, under its own control, attends to laying
- down the data on the spinning magnetic media. This happens very
- quickly and does not carry with it the same negative implications that
- some report about write caching software.
-
- The balance between RAM allotted to write cache and read cache is
- usually preset to around 40/60 and may someday actually dynamically
- adjust to true system usage. You can begin to see that these models
- employ sophisticated microcode and algorithms working with a memory
- pool which is subdivided into various areas. The size of this total
- buffer memory is climbing continuously, with state-of-the-art models
- offering 1 megabyte of RAM. (Why do I get the feeling that this will
- be old news in a few months.... <grin>?)
-
- So, what about MULTIPLE SECTOR Block Transfer? Simple, really...
- whatever Block Size is set, is deducted from the memory pool. For
- example, if a 32 sector block is set, then 16 KiloBytes of RAM are
- removed from the Read/Write caching on the drive. While this sounds
- like a setback, an actual increase in the Data Transfer Rate results
- from the way this can interact with DOS.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Outline ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- Fortunately for all of us, the convenience of personal computers is
- due, in large part, to the simplification of the User Interface. We
- have the advantage today, over the early pioneers, of being able to
- simply sit down and create within our applications. We "suspect" that
- low level hardware operations are taking place as we work, because the
- equipment tends to respond to our commands. We see the hard drive
- activity light flicker when we open and close our files. This is as
- it should be for the popular acceptance of personal computers in our
- society. User Interfaces have become friendlier each day, and will
- continue to do so. We can all look forward to the near future when
- systems interact with more than just our fingers.
-
- In some respects, interface is synonymous with translator. As we work
- within our high level applications, layers of translations are taking
- place to convert our commands into machine language. We enjoy the
- benefit of not needing to know how these clever manipulations are done
- and can count ourselves lucky in the process. A typical read
- translation sequence might be as follows:
-
- 1. Application Command Open File
-
- This level has its own layers of simplification, but roughly
- boils down to the fact that as a programmer's source code is
- prepared for use, a compiler translates the file handling
- components into the standard DOS level software interrupts,
- notably Interrupt 21.
-
- source code: assign DataFile the name mydata.dat
- open (DataFile)
- read (DataFile, DataWeNeed) : Int 21, Fn 3Fh
- so many sectors...
- close (DataFile)
- use (DataWeNeed)
-
- These DOS interrupts provide even the programmer with the ability
- of being able to avoid low level interaction with the system and
- allows an application to operate on many types of machines. Once
- an application issues a DOS file command, the programmer can
- count on a trustworthy sequence of events and can just let it
- happen while waiting for a confirmation of success from the
- operating system. (Some say that a REAL programmer always begins
- with COPY CON PROGRAM.EXE <groan>.)
-
- 2. DOS File Allocation Table (FAT)
-
- The resident portion of our operating system, that part which
- always stays in memory, is triggered into action by the DOS read
- file interrupt. The first order of business is to determine if
- the file already exists, and if it does... where? The DOS file
- directories are used to make this determination and give the
- operating system a starting point. DOS uses a method of ordering
- our data into clusters, or groups of sectors, that begins with
- zero and numbers on up to the end of a drive's partition. This
- might be thought of as a kind of linear, two dimensional map and
- is sometimes call logical block address.
-
- Since most files are larger than a single cluster, the location
- of the next cluster after the start is required. This location
- of the next portion of the file is determined by inspecting the
- File Allocation Table. This table tells DOS the logical
- whereabouts of the next data; which does not necessarily
- contiguously follow the location of the last data. With DOS
- reading the data into memory as it goes along, these steps are
- repeated until the end of the file is reached. The link from
- location to location create a virtual chain of connections that
- insure that data is not lost.
-
- 3. DOS Kernel Resident Block Device Driver
-
- To this point the data is logically ordered in the two
- dimensional manner described above. Yet, we need to translate
- this into a specifically located sector on the drive, itself.
- Disk drives order their data by Cylinders, Heads and Sectors
- which is a kind of spacial three dimensional coordinate. The
- transition from the logical linear location to the physical
- spacial location is the job of DOS's own Resident Block Device
- Driver (Block a.k.a Disk). This requires a straight forward
- calculation whose result depends on the individual geometry of
- the drive being accessed; this geometry is stored in the Boot
- Records and things called Bios Parameter Blocks and is read into
- memory when the operating system loads.
-
- If an imaginary drive had 10 sectors per track, 10 heads, and 10
- cylinders, the drive would have a total of 1000 sectors. If we
- were to count up through the sectors, the Heads digit (10's)
- would increment after the ninth sector and the Cylinders digit
- (100's) would increment after the ninth head. With this model,
- it is easy to see the relationship between the logical and
- physical locations. For example, the 123rd logical sector might
- physically be located at Cyl=1, Hd=2 and Sect=3. Aside from the
- fact that DOS doesn't recognize a zero in the sectors digit, this
- is the oversimplified way things are. Disk drives, however, come
- in many different capacities and make calculating a physical
- location more interesting. A drive with 17 Sectors per track, 6
- Heads and 820 Cylinders would find the 123rd sector at Cyl=1,
- Hd=1 and Sect=3 (right?).
-
- 4. Interrupt 13 Call
-
- Fun and games aside, the DOS Block Device Driver then builds a
- hardware interrupt command that says something like "unit 0, at
- cylinder 1, head 1, sector 4... read it." Things start to look
- just like assembly language programming at this point:
-
- mov ah, 02h ; read function
- mov al, 1 ; number of sectors
- mov ch, 1 ; cylinder number
- mov cl, 4 ; sector number
- mov dh, 1 ; head number
- mov dl, 0 ; unit number
- int 13 ; disk interrupt
-
- Believe it or not, the fact is we still are looking at a language
- designed to provide a user friendly interface, really. Many
- programmers actually write their programs at this level because
- the finished and compiled code ends up being smaller and faster
- than the code produced by higher level programming languages like
- Basic, Pascal and C.
-
- 5. AT BIOS Port Address Command
-
- Interrupt 13 Function 02h is a program, too, in a way. Its
- routines are provided on a chip we all have someplace in our
- system, called a BIOS (Basic Input Output Services). When we
- power on the computer the contents of the BIOS are stored in
- memory and everything we do flows through these routines. All
- the hardware components of the computer - video, disk, keyboard,
- etc. - have complicated little routines which handle
- communicating with the hardware device.
-
- Repetition is the name of the game at this level. In the case of
- our read a file example, every involved sector is seeked to
- (sought?), read from and checked out for success, individually.
- What is simplified for convenience as Int 13 Fn 02h ends up being
- a near endless stream of machine language Port Address commands.
- Hard disk drives have a specific port address at 1F0h for the
- Primary port address and 170h for the Secondary port address.
- While Int 13 serves both hard and floppy disk drives, the port
- addresses for these two different types of drives are split apart
- and managed by separate BIOS routines.
-
- 6. Enter DiskQwik
-
- We've finally reached the level where it is time to consider how
- DiskQwik figures into the scheme of things. First, it is
- important to look at the challenge faced by the BIOS programmer.
- The hard disk drive to be used in the computer system will be one
- of many hundreds of types across several interfaces that range
- from old to new, all needing to be supported by the one BIOS
- routine. Given this obligation, the routines that are written
- are understandably generic with the same code that runs our older
- MFM drive also running our new AT/IDE drive. The need for
- general compatibility creates a situation where the special
- enhancements of the modern AT/IDE disk drive are left
- unsupported.
-
- The phrase "Multiple Sectors Per Interrupt" correctly implies the
- notion that normally we have only one sector per interrupt. This
- is the case with the standard BIOS service and is the default
- start up configuration of the drive. The following diagram shows
- that a large amount of time is spent in overhead checking the
- interrupt after every sector read from the port:
-
- Interrupt Confirmation (overhead)
- │
- ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐ ┌i┐
- s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s──┘ └s─
- │
- Sector Read
-
-
- With Multiple Sector Block Transfer Mode enabled on the drive,
- block size equals to 8, a flow of data like this results:
-
- Interrupt Confirmation (overhead)
- │
- ┌i┐ ┌i┐
- s───s───s───s───s───s───s───s──┘ └s───s───s───s───s───s───s───s──┘ └
- │
- Sector Read
-
- A new routine is required to pass this type of data flow back to
- DOS; software of this type is called an Interrupt Service Routine
- (ISR). DiskQwik is an ISR replacement for the native BIOS Int 13
- read and/or write hard disk drive service routines. DiskQwik
- resides in memory, monitoring all Int 13 requests. When a Read
- and/or Write request comes along, it intercepts the command and
- manages it directly, "hand carrying" it through to the
- port addresses, and the drive.
-
- The turn around time on the delivery of the data is significantly
- improved because much of the overhead from the interrupt
- confirmations has been eliminated. This causes the Data Transfer
- Rate to increase significantly. DiskQwik is loaded as a device
- driver through the Configure System CONFIG.SYS file. Since
- DiskQwik operates at such a low level, it remains compatible with
- virtually all applications. A few noteworthy exceptions do exist
- and are noted in the App Notes section, below.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ App Notes ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- Some Application Notes:
-
- 1. We've seen a few programs which provide an interesting "public
- safety" feature, namely that they block attempts to write to
- track 0 (i.e. cylinder 0, head 0). The purpose is to provide a
- layer of defense against boot sector viruses. Since this is such
- a good idea, we decided to join in and provide the same
- protection. After all, our device driver is custom tailored to
- reading and writing to the hard disk drive and this capability
- only added a byte or two of additional code. DiskQwik provides
- this general safety precaution because no legitimate applications
- have any business, whatsoever, writing changes to sectors on this
- track without your knowledge.
-
- Reading data on track 0 is allowed, however writing to track 0
- will produce a write protect error. If you need to modify data
- on these "hidden" sectors, then you will need to REM out the
- device=dqwik110.hdd statement in the config.sys, and reboot.
-
- 2. Drive compression software programs like DoubleSpace work
- perfectly well with DiskQwik.
-
-
- 3. Concerning drive caching software: SmartDrive works because it
- creates phantom block devices for each of the drives being cached
- and operates in the DOS interrupt arena. HyperDisk doesn't work,
- which is a shame since it is one of the finest shareware programs
- available on the market today, because it is a true Int13 level
- software cache. We are hoping to see this resolved soon, and look
- forward to new versions of HyperDisk to start supporting the
- multiple sector block transfer modes.
-
- 4. Concerning Windows Swap Files: A Temporary swap file works
- because the file is like any other typical file with FAT updates.
- A Permanent swap file doesn't work because it is unlike any other
- typical file. Basically, a permanent swap file locks itself into
- an area on the drive and never moves, and since it never moves,
- DOS and FAT updates are no longer required. A permanent swap file
- is read and written directly with Int13 and cannot handle
- multiple sector block transfer mode. Windows should refuse to
- load if it sees an Int13 interrupt service routine like DiskQwik.
-
- We'd like to point out that the net gain in data transfer rate,
- while in Windows, from using multiple sector block transfer mode
- access to a temporary swap file far exceeds the gain of using
- native Int13 access to a permanent swap file.
-
- 5. DOS version levels and OEM versions of DOS work because they all
- follow the same standards accessing Int13.
-
- 6. When determining the value for Sectors Per Block (SPB) in the
- registered version, it is worth noting that the rate of change in
- the Data Transfer Rate tends to level out around 32 sector per
- block. Even if your drive says it can handle a higher amount,
- you'll probably find the increase is fairly small and not really
- worth it considering the RAM requirement is removed from the
- drive's buffer memory pool (i.e. read/write caching on the
- drive).
-
- 7. The Sector Per Block value can be odd or even values, however
- setting values to 2, 4, 8, 16, or 32 seem to make better sense
- as they are more adapted to the math routines involved.
-
- 8. File defragmentation and optimization utilities will generally
- work well with DiskQwik, however it is a good practice to
- simplify one's system before running this type of utility by
- disabling programs like drive caching software and DiskQwik.
- Always make sure you have a current backup before optimizing a
- hard disk drive.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Error Messages ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- The device driver may display a single of error message during the
- loading process of the CONFIG.SYS file. It is "Error Loading
- DiskQwik" and results from the drive returning an aborted command when
- the set multiple command is issued.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Legal Disclaimer ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- LICENSE AGREEMENT
-
- DiskQwik, 4_Drive Utilities, 4_Speed All versions.
-
- Dustbowl Designs, Inc. provides the accompanying object code software
- ("Software") and nonexclusively licenses its use on the following
- terms and conditions. The Software is copyrighted by Dustbowl Designs,
- Inc. with all rights reserved. YOU ASSUME FULL RESPONSIBILITY FOR THE
- SELECTION OF THE SOFTWARE TO ACHIEVE YOUR INTENDED PURPOSES, FOR THE
- PROPER INSTALLATION AND USE. Dustbowl Designs, Inc. DOES NOT WARRANT
- THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS, THAT THE SOFTWARE IS
- FIT FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL BE
- ERROR FREE. Dustbowl Designs, Inc. EXPRESSLY DISCLAIMS ALL WARRANTIES,
- WHETHER ORAL OR WRITTEN, EXPRESSED OR IMPLIED, INCLUDING WITHOUT
- LIMITATION WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
- PURPOSE. IN NO EVENT WILL Dustbowl Designs, Inc. BE LIABLE TO YOU,
- YOUR CUSTOMERS OR OTHER USERS FOR ANY INDIRECT, INCIDENTAL,
- CONSEQUENTIAL, SPECIAL OR EXEMPLARY DAMAGES ARISING OUT OF OR IN
- CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE.
-
- DiskQwik is a trademark of Dustbowl Designs, Inc. The DiskQwik
- software and documentation are Copyright 1993 by Dustbowl Designs with
- all rights reserved. The Registered DiskQwik v1.2 software programs
- ARE NOT shareware or freeware and unauthorized redistribution is
- STRICTLY PROHIBITED.
-
- End of License agreement.
-
- *****************************************************************
-
- ┌────────────────────────────────────────────────────────────────────┐
- │▒▒▒ Revision History ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│
- └────────────────────────────────────────────────────────────────────┘
-
- v1.1 08/93 - public release of DiskQwik SHAREWARE v1.1.
- v1.2 08/93 - public release of DiskQwik REGISTERED v1.2.
-
- Contents of the DiskQwik Distribution Set. DQWIK110.ZIP (DQWIK.ZIP on
- CompuServe (tm) go IBMHW forum Lib 1)
-
- DQWIK110.HDD Device driver file. Compiled 08-20-93 01:10:00.
- DISKQWIK.DOC Documentation file with installation instructions.
- 4DRVUTIL.EXE An AT/IDE Identify Drive inquiry utility that shows
- which 3_Drive/4_Drive and DiskQwik command line
- switches work best. Designed to work on both Primary
- and Secondary Port Addresses. Freeware.
- 4DRVUTIL.DOC Auxiliary documentation.
- 4_SPEED.EXE Our Data Transfer Rate Test utility. Freeware.
- 4_SPEED.DOC Auxiliary documentation.
- DBOWLDEM.EXE Simple demo that gives a look at registered
- 4_Drives v3.01 and 4_Park v1.1, and our new DiskQwik
- programs.
- DISKQWIK.PCX Graphics picture file showing Data Transfer Rates with
- various command line options. Test and graphics file
- created by our new 4_Speed Data Transfer Rate Test
- utility. Freeware.
- ORDERDQ.FRM Mail-in registration form
- READMEDQ.TXT User shareware policy
- VENDORDQ.DOC Shareware vendor's distribution policy
-
- *****************************************************************
- Dustbowl Designs, Inc. |
- 12600 S.E. 38th Street |
- Choctaw, Oklahoma 73020-6107 |
- U.S.A. | CIS: 71062,2542
-
- phone:
- (405) 741-4705 ordering, tech support, general information
- (405) 741-2721 BBS (9600 HST/v.everything) Tech Support, Hard disk
- drive shareware, drive specs, Online Shareware
- Registration/Download for VISA or MasterCard orders!
-
- NAME : ___________________________________Password:_________________
-
- ADDRESS : _____________________________________________________________
-
- ___________________________________________ ZIP :____________
-
- TELEPHONE: ___________________________________________ (Day & Night)
-
- COMMENTS : _____________________________________________________________
-
- _____________________________________________________________
-
- ___________________________________________________________
-
- Qty Description Each Total
-
- ____ DiskQwik v1.2 Registration $25.00 ________
-
- Subtotal ________
-
- (Oklahoma residents add 6.5% sales tax) Tax ________
-
- U.S. diskette orders add $3 shipping & handling, Foreign diskette
- orders add $5 U.S. shipping. This also applies to Special Upgrade for
- Registered users (If you want to download from our BBS put $0.00
- dollars for shipping and write the password you'll be using next to
- your name above. Allow 7 days for Postal transit.)
- Shipping ________
-
- DATE : ______________________________
- TOTAL $________
- PAYMENT:
- [ ] Visa/MasterCard [ ] Check (number ____________)
- (see below) (make checks payable to Dustbowl Designs, Inc.)
-
- [ ] Cash US$ [ ] US$ Money Order (No foreign currency)
-
-
- Total amount enclosed or authorized: $________________
-
- _______________________________________________________________________
- If Payment by Visa or MasterCard:
-
- We can only accept Visa or MasterCards (no American Express, please.)
- We will need the following information:
-
- Credit card number: ______________________________________________________
-
- Expiration date: _________________________________________________________
-
- Bank the card's drawn on: ________________________________________________
-
- The name as it appears on the card: ______________________________________
-
- The signature of its owner authorizing us
- to debit it for the amount indicated above: ______________________________
-
- _______________________________________________________________________
-
- THE FOLLOWING INFORMATION IS REQUIRED FOR REGISTRATION:
-
- HARD DISK #1 MAKE ____________________MODEL_________________SIZE________
-
- HARD DISK #2 MAKE ____________________MODEL_________________SIZE________
-
- CONTROLLER #1 MAKE_____________________MODEL_________________
-
-
- COMPUTER 286 ( ) 386 ( ) 486 ( ) OTHER ( ) ______________________
- SX ( ) DX ( ) DX2 ( ) OverDrive ( )
-
- OPERATING SYSTEM / DOS VERSION ___________________
-
- VIDEO CARD Standard VGA ( ) Super VGA ( ) Coproccessed/Accelerator ( )
-
- MOUSE YES ( ) NO ( )
-
- JOYSTICK YES ( ) NO ( )
-
- MEMORY 640 ( ) 1 meg ( ) 2 meg ( ) 4 meg ( ) more ( ) ______
-
- MODEM YES ( ) NO ( ) .... BAUD RATE ___________________________
-
- HOW DID YOU ACQUIRE THIS PROGRAM: bbs name __________________________
-
- Fold the pages at the break below with print facing out. Fold letter style
- with mailing address exposed. Tape/staple edges, enclosing payment.
-
-
- ___________________________ .-----.
- |Place|
- ___________________________ |Stamp|
- |Here |
- ___________________________ `-----'
-
-
-
- Dustbowl Designs, Inc.
- 12600 S.E. 38th Street
- Choctaw, OK 73020-6107
- U.S.A.
- DiskQwik v1.1
-
- -=EOF: DISKQWIK.DOC=-